package com.amsp.oa.oademo.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDate;

@Data
@TableName("zenbu_form")
@ApiModel(description = "全部表单")
public class ZenbuForm implements Serializable {
    private static final long serialVersionUID = 1L;

    @TableId(type = IdType.AUTO)
    @ApiModelProperty("主键ID")
    private Long id;

    @ApiModelProperty("填单日期")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private LocalDate fillDate;

    @ApiModelProperty("申请部门")
    private String applicationDepartment;

    @ApiModelProperty("申请职位")
    private String applicationPosition;

    @ApiModelProperty("申请人")
    private String applicant;

    @ApiModelProperty("员工类别")
    private String employeeType;

    @ApiModelProperty("需求日期")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private LocalDate demandDate;

    @ApiModelProperty("原编制人数")
    private Integer originalStaffing;

    @ApiModelProperty("现有人力")
    private Integer currentStaff;

    @ApiModelProperty("差异人力")
    private Integer differenceStaff;

    @ApiModelProperty("递补性别要求")
    private String replacementGender;

    @ApiModelProperty("递补男性人数")
    private Integer replacementMaleCount;

    @ApiModelProperty("递补女性人数")
    private Integer replacementFemaleCount;

    @ApiModelProperty("递补名额")
    private Integer replacementQuota;

    @ApiModelProperty("增加性别要求")
    private String increaseGender;

    @ApiModelProperty("增加男性人数")
    private Integer increaseMaleCount;

    @ApiModelProperty("增加女性人数")
    private Integer increaseFemaleCount;

    @ApiModelProperty("增加名额")
    private Integer increaseQuota;

    @ApiModelProperty("缺岗原因")
    private String reasonForVacancy;

    @ApiModelProperty("缺岗原因详情")
    private String reasonForVacancyDetails;

    @ApiModelProperty("年龄要求")
    private String ageRequirement;

    @ApiModelProperty("年龄要求详情")
    private String ageDetails;

    @ApiModelProperty("语言要求")
    private String languageRequirement;

    @ApiModelProperty("英语等级详情")
    private String englishLevelDetails;

    @ApiModelProperty("其他语言详情")
    private String otherLanguageDetails;

    @ApiModelProperty("学历要求")
    private String educationRequirement;

    @ApiModelProperty("学历要求详情")
    private String educationDetails;

    @ApiModelProperty("专业要求")
    private String majorRequirement;

    @ApiModelProperty("专业要求详情")
    private String majorDetails;

    @ApiModelProperty("工作经验要求")
    private String experienceRequirement;

    @ApiModelProperty("工作经验详情")
    private String experienceDetails;

    @ApiModelProperty("必备技能")
    private String necessarySkills;

    @ApiModelProperty("薪酬标准")
    private String salaryStandard;

    @ApiModelProperty("复试人员")
    private String reinterviewPersons;

    @ApiModelProperty("部门主管意见")
    private String departmentOpinion;

    @ApiModelProperty("部门主管签名")
    private String departmentSignature;

    @ApiModelProperty("部门主管日期")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private LocalDate departmentDate;

    @ApiModelProperty("部长/总监意见")
    private String directorOpinion;

    @ApiModelProperty("部长/总监签名")
    private String directorSignature;

    @ApiModelProperty("部长/总监日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate directorDate;

    @ApiModelProperty("总经理意见")
    private String generalManagerOpinion;

    @ApiModelProperty("总经理签名")
    private String generalManagerSignature;

    @ApiModelProperty("总经理日期")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private LocalDate generalManagerDate;

    @ApiModelProperty("企业管理部意见")
    private String corporateManagementOpinion;

    @ApiModelProperty("企业管理部签名")
    private String corporateManagementSignature;

    @ApiModelProperty("企业管理部日期")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private LocalDate corporateManagementDate;

    @ApiModelProperty("总裁/董事长意见")
    private String presidentOpinion;

    @ApiModelProperty("总裁/董事长签名")
    private String presidentSignature;

    @ApiModelProperty("总裁/董事长日期")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private LocalDate presidentDate;
}